home *** CD-ROM | disk | FTP | other *** search
- 10 POKE55,.:POKE56,23:CLR:Z$=CHR$(.):C=55038:M$=CHR$(13):W=54272:Q$=CHR$(34)
- 12 Z=4781:POKEW+6,240:POKEW+13,240:POKEW+4,1:POKEW+11,1:PRINT"[147][142]":GOTO900
- 15 L=.:B$="":C$="":D$=""
- 25 FORI=1TO4:GET#8,A$:B$=B$+A$:NEXT
- 30 FORI=1TO4:GET#8,A$:NEXT
- 35 FORI=1TO8:GET#8,A$:C$=C$+A$:NEXT
- 40 IFB$="RIFF"ANDC$="WAVEfmt "THEN50
- 45 PRINT"[147]NOT A WAVE FILE":CLOSE8:GOTO900
- 50 FORI=1TO6:GET#8,A$:NEXT
- 55 GET#8,A$:A=ASC(A$+Z$)
- 60 FORI=1TO9:GET#8,A$:NEXT
- 65 GET#8,A$:R=ASC(A$+Z$):IFR<3THEN70
- 67 PRINT"[147]NOT SUPPORTED BY THIS PROGRAM":CLOSE8:GOTO900
- 70 GET#8,A$:GET#8,A$:B=ASC(A$+Z$):GET#8,A$
- 75 FORI=1TO4:GET#8,A$:D$=D$+A$:NEXT
- 80 IFD$<>"data"THEN45
- 85 FORI=.TO3:GET#8,A$:L=L+2^(8*I)*ASC(A$+Z$):NEXT
- 90 P=R
- 100 F=11000*R:T=L/F*8/B/A
- 105 S=L*4/B/A*P:P=P+128*(A-1)+8*B-64
- 110 IFA=1THENA$="MONAURAL"
- 115 IFA=2THENA$="STEREO"
- 120 POKE150,P:PRINT"[147]";A$
- 125 PRINT"SAMPLING RATE =";F;"HZ"
- 130 PRINT"NUMBER OF BITS =";B
- 135 PRINT"DURATION OF SOUND =";INT(T*100+.5)/100;"SECONDS"
- 140 PRINT"PRESS RETURN TO PLAY AT";F;"HZ RATE."
- 141 IFR=2THENPRINT"PRESS H TO PLAY AT HALF THE RATE.":P=P-1:GOTO143
- 142 PRINT"PRESS T TO PLAY AT TWICE THE RATE.":P=P+1
- 143 GETA$:IFA$=M$THEN147
- 144 IFA$="H"THENPOKE150,P:S=S/2:GOTO147
- 145 IFA$="T"THENPOKE150,P:S=S*2:GOTO147
- 146 GOTO143
- 147 IFS>CTHEN170
- 148 PRINT"PRESS RETURN TO LOAD AND PLAY FILE."
- 150 PRINT"PRESS F FOR ANOTHER FILE."
- 155 GETA$:IFA$="F"THEN167
- 160 IFA$=M$THEN185
- 165 GOTO155
- 167 PRINT"[147]":CLOSE8:GOTO938
- 170 PRINT"FILE IS TOO LARGE TO PLAY AT ONE TIME."
- 175 PRINT"PRESS RETURN TO LOAD AND PLAY FIRST OF"
- 180 PRINT"[157]";INT((S-1)/C)+1;"PARTS.":GOTO150
- 185 S=S-C:IFS>.THENP=9216:GOTO187
- 186 P=9216-S
- 187 POKE156,P/256:POKE143,P-256*INT(P/256)
- 188 PRINT"LOADING...":SYSZ+276
- 190 PRINT"[147]PRESS RETURN FOR SOUND."
- 195 IFS=<.THEN205
- 200 PRINT"PRESS N FOR NEXT PART."
- 205 PRINT"PRESS F FOR ANOTHER FILE."
- 210 GETA$:IFA$="F"THEN167
- 215 IFA$="N"THEN185
- 220 IFA$=M$THEN230
- 225 GOTO210
- 230 POKE156,P/256:POKE143,P-256*INT(P/256):SYSZ+145:GOTO190
- 700 OPEN15,D,15:INPUT#15,A,B$,H,E
- 705 IFA>19THENPRINT:PRINTA:PRINT:PRINTB$:PRINT:PRINTH,E:PRINT
- 710 CLOSE15:RETURN
- 900 PRINT"WITH DISK CONTAINING ";Q$;"WAVE";Q$;" FILES IN"
- 902 PRINT"DISK DRIVE, ENTER ITS DEVICE NUMBER."
- 905 PRINT"(ENTER 0 TO EXIT.)"
- 910 PRINT:PRINT" 8[145]":INPUTD:IFD=0THEN999
- 915 IFD<4ORD>30THENPRINT"[147]ILLEGAL DEVICE NUMBER":GOTO900
- 920 POKE2,36:POKE184,8:POKE185,0:POKE186,D
- 925 POKE183,1:POKE187,2:POKE188,.:SYS65472
- 930 CLOSE8:IFPEEK(783)AND1THENPRINT"[147]?DEVICE";D;"[157] NOT PRESENT":GOTO900
- 932 GOSUB700:IFA>19THEN900
- 935 PRINT"[147]LOADING DIRECTORY...":OPEN8,D,.,"$":SYSZ:CLOSE8
- 937 IFPEEK(2)=.THENPRINT"[147]NO FILES ON DISK":GOTO900
- 938 PRINT"";:SYSZ+435
- 940 PRINT"THIS PROGRAM WILL PLAY SOUND FILES THAT"
- 945 PRINT"USE THE WINDOWS ";Q$;"WAVE";Q$;" FORMAT. ONLY 11"
- 950 PRINT"KHZ AND 22 KHZ SAMPLING RATES ARE"
- 955 PRINT"SUPPORTED BY THIS PROGRAM. IF A FILE IS";
- 960 PRINT"TOO LARGE TO PLAY AT ONE TIME, PART OF"
- 965 PRINT"IT WILL BE PLAYED. YOU WILL THEN HAVE"
- 970 PRINT"THE OPTION OF PLAYING SUCCESSIVE PARTS."
- 975 PRINT"CURSOR LEFT/RIGHT SCROLLS DIRECTORY."
- 980 PRINT"PRESS RETURN TO SELECT FILE."
- 985 PRINT"PRESS S TO START OVER."
- 990 PRINT"[164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]":POKE1983,100
- 995 SYSZ+601:IFPEEK(2)THENPRINT"[147]":GOTO900
- 998 GOTO15
- 999 POKE56,160
-